<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script src="https://cdn.bootcdn.net/ajax/libs/axios/1.3.6/axios.js"></script>

  <script>
    function pname () {
      // return new Promise((resolve, reject) => {
      //   setTimeout(() => {
      //     resolve('成功获取省份')
      //   }, 1000)
      // })
      return axios({
        url: 'http://hmajax.itheima.net/api/province'
      })
    }
    function cname () {
      // return new Promise((resolve, reject) => {
      //   setTimeout(() => {
      //     resolve('成功获取城市')
      //   }, 1000)
      // })
      return axios({
        url: 'http://hmajax.itheima.net/api/city',
        params: {
          pname: '湖北省'
        }
      })
    }

    function aname () {
      // return new Promise((resolve, reject) => {
      //   resolve('成功获取区')
      // })
      return axios({
        url: 'http://hmajax.itheima.net/api/area',
        params: {
          pname: '湖北省',
          cname: '武汉市'
        }
      })
    }

    // pname()
    //   .then(res => {
    //     console.log(res, 111);
    //     return cname()
    //   })
    //   .then(res2 => {
    //     console.log(res2, 222);
    //     return aname()
    //   })
    //   .then(res3 => {
    //     console.log(res3, 3333);
    //   })

    // pname()
    //   .then(res => {
    //     console.log(res, 111);
    //     return cname()
    //   })
    //   .then(res2 => {
    //     console.log(res2, 222);
    //     return aname()
    //   })
    //   .then(res3 => {
    //     console.log(res3, 3333);
    //   })

    // async function fnc () {
    // const fnc = async function () {

    const fnc = async () => {
      const res = await pname()
      const res2 = await cname()
      const res3 = await aname()
    }

    // }
    fnc()

    /*
    1、有await  必须要有async,一定找的是距离await最近的函数的async
    2、可以使用await来实现多个请求按照顺序执行
    3、await 后面接的是Promise对象

    Promise es6
    async  await 的语法
    */

    // axios({
    //   url: 'http://hmajax.itheima.net/api/province'
    // }).then((result) => {
    //   console.log(result.data.list, 111);
    // })

    // async function fnc2 () {
    //   const res = await axios({
    //     url: 'http://hmajax.itheima.net/api/province'
    //   })
    //   console.log(res, 6666);
    // }
    // fnc2()


  </script>
</body>

</html>